package com.inifitness.plugin.model.vo;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

import lombok.Data;

/**
 * 企业工商信息查询相应
 *
 * @author sunjinfeng
 * @version 1.0.0
 * @since 2023/1/13 17:01
 */
@Data
public class DetailInfo {

  /**
   * 相应信息
   */
  private String msg;
  /**
   * 响应码 200 成功
   */
  private Integer code;
  /**
   * 接口请求成功标识，true 为成功，false 为失败
   */
  private Boolean success;
  private ResponseData data;

  @Data
  public static class ResponseData implements Serializable {

    @Serial
    private static final long serialVersionUID = 8632717049661581754L;
    /**
     * 订单号
     */
    private String orderNo;

    private BusinessData data;
  }


  @Data
  public static class BusinessData implements Serializable {

    @Serial
    private static final long serialVersionUID = -3156369603255178018L;
    /**
     * 曾用名
     */
    private String historyNames;
    /**
     * 注册资金
     */
    private String capital;
    /**
     * 地区行政区号
     */
    private String districtCode;
    /**
     * 地市
     */
    private String city;
    /**
     * 地市行政区号
     */
    private String cityCode;
    /**
     * 企业名称
     */
    private String companyName;
    /**
     * 营业期限开始时间
     */
    private String operationStartdate;
    /**
     * 行业
     */
    private String industry;
    /**
     * 实收注册资金
     */
    private String realCapital;
    /**
     * 法人类型
     */
    private String legalPersonType;
    /**
     * 省份
     */
    private String province;
    /**
     * 组织机构代码
     */
    private String orgCode;
    /**
     * 法人
     */
    private String legalPerson;
    /**
     * 更新时间
     */
    private String lastUpdatedTime;
    /**
     * 核准日期
     */
    private String issueDate;
    /**
     * 注册号
     */
    private String companyCode;
    /**
     * 公司类型
     */
    private String companyType;
    /**
     * 营业期限结束时间
     */
    private String operationEnddate;
    /**
     * 省份行政区号
     */
    private String provinceCode;
    /**
     * 经营状态
     */
    private String companyStatus;
    /**
     * 经营范围
     */
    private String businessScope;
    /**
     * 成立日期
     */
    private String establishDate;
    /**
     * 登记机关
     */
    private String authority;
    /**
     * 注册地址
     */
    private String companyAddress;
    /**
     * 地区
     */
    private String district;
    /**
     * 统一社会信用代码
     */
    private String creditNo;

    /**
     * 联系信息
     */
    private Contacts contacts;
  }

  @Data
  public static class Contacts implements Serializable {

    @Serial
    private static final long serialVersionUID = -3191659352748503247L;
    private List<Website> website;
    private List<PhoneNumber> phoneNumber;
    private List<Address> address;
    private List<Email> email;

    @Data
    public static class Website implements Serializable {

      @Serial
      private static final long serialVersionUID = -7747423868636214293L;
      /**
       * 备注
       */
      private String note;
      /**
       * 网址
       */
      private String value;
    }

    @Data
    public static class PhoneNumber implements Serializable {

      @Serial
      private static final long serialVersionUID = 5404818533743610304L;
      /**
       * 备注
       */
      private String note;
      /**
       * 电话号码
       */
      private String value;
    }

    @Data
    public static class Address implements Serializable {

      @Serial
      private static final long serialVersionUID = -108033151196196076L;
      /**
       * 备注
       */
      private String note;
      /**
       * 地址
       */
      private String value;
    }

    @Data
    public static class Email implements Serializable {

      @Serial
      private static final long serialVersionUID = 1037745108516635566L;
      /**
       * 备注
       */
      private String note;
      /**
       * 邮箱
       */
      private String value;
    }
  }
}
